package com.aynu.gulimall.search.vo;

import com.aynu.common.to.es.SKUEsModel;
import lombok.Data;

import java.util.ArrayList;
import java.util.List;

/**
 * @author mj
 * @version 1.0
 * @date 2021/3/11 20:12
 */
@Data
public class SearchResult {
    /**
     * 查询到的商品信息
     */
    private List<SKUEsModel> products;

    /**
     * 所有的品牌信息
     */
    private List<BrandVo> brands;

    /**
     * 所有的属性
     */
    private List<AttrVo> attrs;

    /**
     * 所有的分类
     */
    private List<CatalogVo> catalogs;

    //以下分页信息
    /**
     * 当前页码
     */
    private Integer pageNum = 1;

    /**
     * 总记录数
     */
    private Long total;

    /**
     * 总页码
     */
    private Integer totalPage;

    /**
     * 导航页码集合
     */
    private List<Integer> totalNavs;

    //以上是返回给页面的信息

    /**
     * 面包屑导航
     */
    private List<SearchResult.NavVo> navs = new ArrayList<>();
    private List<Long> attrIds = new ArrayList<>();

    @Data
    public static class NavVo{
        /**
         * 面包屑名字
         */
        private String navName;

        /**
         * 面包屑的值
         */
        private String navValue;

        /**
         * 需要跳转的地址
         */
        private String link;
    }

    //静态内部类
    @Data
    public static class BrandVo{
        /**
         * 品牌id
         */
        private Long brandId;

        /**
         * 品牌名
         */
        private String brandName;

        /**
         * 品牌图片
         */
        private String brandImg;
    }

    @Data
    public static class AttrVo{
        /**
         * 属性id
         */
        private Long attrId;

        /**
         * 属性名
         */
        private String attrName;

        /**
         * 属性值
         */
        private List<String> attrValue;
    }

    @Data
    public static class CatalogVo{
        /**
         * 分类id
         */
        private Long catalogId;

        /**
         * 分类名
         */
        private String catalogName;
    }
}
